#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>


//int main()
//{
//	int arr[5][5];
//	int(*p)[4];
//	p = arr;
//	printf("%p %d", &p[4][2] - &arr[4][2], &p[4][2] - &arr[4][2]);
//	return 0;
//}


//int main()
//{
//	char* s[3] = { "abc","bcd","cde" };
//	char name[20];
//	*name = "ahangsan";
//	return 0;
//}

#include <assert.h>
//void my_strcmp(char* s1, const char* s2)
//{
//	assert(s2);
//	while (*s1++ = *s2++);
//}
//int main()
//{
//	char arr1[20] = { 0 };
//	char arr2[] = "bit";
//	my_strcmp(arr1, arr2);
//	printf("%s\n", arr1);
//	return 0;								
//}


#include <string.h>
//								int solve(char* s)
//{
//	int ret = 0;
//	for (int i = 0; i < strlen(s); ++i)
//	{
//		ret |= 1 << (s[i] - 'a');
//	}
//	//"yi","nypa","xwz"
//	return ret;
//}
//int main()
//{
//	char* dictionary[] = { "cat","bat","rat" };
//	int dictionarySize = sizeof(dictionary) / sizeof(dictionary[0]);
//	char sentence[] = "ikkbp miszkays wqjferqoxjwvbieyk gvcfldkiavww vhokchxz dvypwyb bxahfzcfanteibiltins ueebf lqhflvwxksi dco kddxmckhvqifbuzkhstp wc ytzzlm gximjuhzfdjuamhsu gdkbmhpnvy ifvifheoxqlbosfww mengfdydekwttkhbzenk wjhmmyltmeufqvcpcxg hthcuovils ldipovluo aiprogn nusquzpmnogtjkklfhta klxvvlvyh nxzgnrveghc mpppfhzjkbucv cqcft uwmahhqradjtf iaaasabqqzmbcig zcpvpyypsmodtoiif qjuiqtfhzcpnmtk yzfragcextvx ivnvgkaqs iplazv jurtsyh gzixfeugj rnukjgtjpim hscyhgoru aledyrmzwhsz xbahcwfwm hzd ygelddphxnbh rvjxtlqfnlmwdoezh zawfkko iwhkcddxgpqtdrjrcv bbfj mhs nenrqfkbf spfpazr wrkjiwyf cw dtd cqibzmuuhukwylrnld dtaxhddidfwqs bgnnoxgyynol hg dijhrrpnwjlju muzzrrsypzgwvblf zbugltrnyzbg hktdviastoireyiqf qvufxgcixvhrjqtna ipfzhuvgo daee r nlipyfszvxlwqw yoq dewpgtcrzausqwhh qzsaobsghgm ichlpsjlsrwzhbyfhm ksenb bqprarpgnyemzwifqzz oai pnqottd nygesjtlpala qmxixtooxtbrzyorn gyvukjpc s mxhlkdaycskj uvwmerplaibeknltuvd ocnn frotscysdyclrc ckcttaceuuxzcghw pxbd oklwhcppuziixpvihihp";
//	char crr[10][10] = { 0 };
//	int crrIndex = 0;
//	for (int i = 0; i < dictionarySize; ++i)
//	{
//		if (dictionary[i] != NULL)
//		{
//			int index = i;
//			int cmp = solve(dictionary[i]);
//			for (int j = i + 1; j < dictionarySize; ++j)
//			{
//				int tmp = solve(dictionary[j]);
//				if (cmp == tmp)
//				{
//					if (strlen(dictionary[i]) > strlen(dictionary[j]))
//					{
//						index = i;
//						++i;
//					}
//					else
//					{
//						index = j;
//						dictionary[j] = NULL;
//					}
//				}
//				else
//				{
//					strcpy(crr[crrIndex], dictionary[i]);
//					++crrIndex;					
//				}
//			}
//		}
//	}
//	char arr[20] = { 0 };
//	int index = 0;
//	int ansIndex = 0;
//	static char ans[30] = { 0 };
//	for (int i = 0; i < strlen(sentence); ++i)
//	{
//		if (sentence[i] != ' ')
//		{
//			arr[index++] = sentence[i];
//		}
//		if(sentence[i] == ' ' || i == strlen(sentence) - 1)
//		{
//			int cmp = solve(arr);
//			arr[index++] = ' ';
//			int f = 1;
//			for (int j = 0; j < dictionarySize; ++j)
//			{
//				if (dictionary[j] != NULL)
//				{
//					int tmp = solve(dictionary[j]);
//					int f2 = 1;
//					if ((cmp & tmp) == tmp)
//					{
//
//						for (int x = 0, y = 0; x < strlen(arr) && y < strlen(dictionary[j]); ++x, ++y)
//						{
//							if (arr[x] != dictionary[j][y])
//							{
//								f2 = 0;
//								break;
//							}
//						}
//						if (f2 == 0)
//						{
//							continue;
//						}
//						f = 0;
//						for (int x = 0; x < strlen(dictionary[j]); ++x)
//						{
//							ans[ansIndex++] = dictionary[j][x];
//						}
//						ans[ansIndex++] = ' ';
//						break;
//					}
//				}
//			}
//			if (f)
//			{
//				strcat(ans, arr);
//				ansIndex += index;
//			}
//			for (int x = 0; x < 20; ++x)
//			{
//				arr[x] = 0;
//			}
//			index = 0;
//		}
//	}
//	puts(ans);
//	ans[ansIndex] = 0;
//	return 0;
//}


//int main()
//{
//	char ss[] = "111000";
//    int _1 = 0;
//    int _0 = 0;
//    int max1 = 0;
//    int max0 = 0;
//    char* s = ss;
//    while (*s)
//    {
//        int f = 1;
//        if (*s == '1')
//        {
//            f = 0;
//            ++_1;
//        }
//        if (f == 1)
//        {
//            if (max1 < _1)
//            {
//                max1 = _1;
//            }
//            _1 = 0;
//        }
//        int f2 = 1;
//        if (*s == '0')
//        {
//            f2 = 0;
//            ++_0;
//        }
//        if (f2 == 1)
//        {
//            if (max0 < _0)
//            {
//                max0 = _0;
//            }
//            _0 = 0;
//        }
//        ++s;
//    }
//        int k = max1 > max0;
//}



//int main()
//{
//	int matrix[][4] = { 1,10,4,2 ,9,3,8,7,15,16,17,12 };
//	int matrixSize = sizeof(matrix) / sizeof(matrix[0]);
//    int matrixColSize = 4;
//    int ret[2] = { 0 };
//    int index = 0;
//    for (int i = 0; i < matrixSize; )
//    {
//        for (int j = 0; j < 4; ++j)
//        {
//            int aim = matrix[i][j];
//            for (int x = 0; x < 4; ++x)
//            {
//                if (matrix[i][x] < aim)
//                {
//                    goto there;
//                }
//            }
//            for (int x = 0; x < matrixSize; ++x)
//            {
//                if (matrix[x][j] > aim)
//                {
//                    goto there;
//                }
//            }
//            ret[index++] = aim;
//        }
//    there:
//        ++i;
//    }
//	return 0;
//}


int main()
{
	int n = 23;
    int ans = 0;
    for (int i = 2; i <= n; ++i)
    {
        int sum = 0;
        int num = 0;
        int j = i;
        for (int j = i; j > 0; j /= 10)
        {
            ++sum;
            int tmp = j % 10;
            if (tmp == 3 || tmp == 4 || tmp == 7)
            {
                break;
            }
            if (tmp == 2 || tmp == 5 || tmp == 6 || tmp == 9)
            {
                ++num;
            }
        }
        if (sum == num)
        {
            ++ans;
        }
    }
    return ans;
}